package com.mojo.spel;

import org.springframework.expression.Expression;
import org.springframework.expression.spel.standard.SpelExpressionParser;

/**
 * spel简单示例
 * <p>
 * SpEL
 * </p>
 *
 * @author <a href="mailto:sjj@jianzhimao.com">mojo</a>
 * copyright (C), 2013-2021, 广州九尾信息科技有限公司
 * @date 2021/9/6 14:12
 */
public class HelloSpel {
    public static void main(String[] args) {
        //SpelExpressionParser用来解析一个字符串表达式，支持一些列特性
        SpelExpressionParser parser = new SpelExpressionParser();
        //1、支持方法调用,参数是一个字符串表达式
        Expression expression = parser.parseExpression("'hello '.concat('world')");
        String value = (String) expression.getValue();
        Expression expression1 = parser.parseExpression("'hello'.length()");
        Integer length = (Integer) expression1.getValue();
        //2、支持访问属性
        Expression expression2 = parser.parseExpression("'hello'.bytes");
        byte[] bytes = (byte[]) expression2.getValue();
        System.out.println(value);
        System.out.println(length);
        for (byte aByte : bytes) {
            System.out.println(aByte);
        }
        //System.out.println("hello".bytes);

    }
}
